Headline estimator: panel IV (eligibility × post instrument) for gdp_pc_real_growth.
Benchmarks: TWFE models A/B/C, RD around the 75 threshold, placebo leads/lags, and convergence diagnostics.
| metric | value |
|---|---|
| min_year | 1986 |
| max_year | 2025 |
| n_regions | 398 |
| n_rows | 15920 |
| headline_outcome | gdp_pc_real_growth |
| variable | missing_rate |
|---|---|
| gdp_pc_growth | 0.876947 |
| erdf_eur_pc_l3 | 0.859296 |
| rd_gerd | 0.854899 |
| gva | 0.852261 |
| erdf_eur_pc_l2 | 0.840578 |
| erdf_eur_pc_l1 | 0.823053 |
| erdf_eur_pc | 0.805465 |
| unemp_rate | 0.767085 |
| tertiary_share_25_64 | 0.765578 |
| emp_rate | 0.764824 |
| gdp_pc_real_growth | 0.622362 |
| gdp_pc_pps_growth | 0.609422 |
IV and RD are foregrounded; TWFE is retained as benchmark.
| estimator_family | model | outcome | term | coef | std_err | p_value | ci_95_lower | ci_95_upper | n_obs | n_regions | fe_type | clustering | window | n_regions_right | first_stage_f_stat |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| IV | IV 2SLS (panel) | gdp_pc_real_growth | erdf_eur_pc_l1 | 0.004232 | 0.059070 | 0.942888 | -0.111543 | 0.120006 | 1175 | 223 | year | nuts2 | panel_post2014_instrument | NaN | 1.538019 |
| RD | fuzzy_rd (bw=10) | gdp_pc_real_growth_post_2016_2020 | erdf_eur_pc_cum_2014_2020 | -0.000304 | 0.002538 | 0.904508 | -0.005278 | 0.004669 | 53 | 24 | local_linear | HC1 | post_2016_2020 | 29.0 | NaN |
| RD | sharp_rd (bw=10) | gdp_pc_real_growth_post_2016_2020 | eligible_lt75 | -0.158809 | 1.375125 | 0.908059 | -2.854005 | 2.536387 | 53 | 24 | local_linear | HC1 | post_2016_2020 | 29.0 | NaN |
| TWFE | Model A | gdp_pc_real_growth | erdf_eur_pc_l1 | 0.005680 | 0.003025 | 0.060399 | -0.000248 | 0.011608 | 1175 | 223 | year | nuts2 | panel | NaN | NaN |
| TWFE | Model B | gdp_pc_real_growth | erdf_eur_pc_l1 | 0.003362 | 0.002888 | 0.244443 | -0.002299 | 0.009023 | 1175 | 223 | country_year | nuts2 | panel | NaN | NaN |
| TWFE-dynamic | Model C | gdp_pc_real_growth | erdf_eur_pc_l1 | 0.011999 | 0.004850 | 0.013356 | 0.002494 | 0.021505 | 861 | 223 | year | nuts2 | panel | NaN | NaN |
| outcome | model | fe_type | clustering | term | coef | std_err | t_stat | p_value | ci_95_lower | ci_95_upper | first_stage_f_stat | n_obs | n_regions | sample_year_min | sample_year_max | instrument | formula |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gdp_pc_pps_growth | IV 2SLS (panel) | year | nuts2 | erdf_eur_pc_l1 | 0.003099 | 0.078398 | 0.039530 | 0.968468 | -0.150558 | 0.156756 | 1.538019 | 1175 | 223 | 2017 | 2023 | eligible_lt75 × eu_erdf_intensity_t | gdp_pc_pps_growth ~ 1 + unemp_rate + emp_rate + tertiary_share_25_64 + rd_gerd + gva + C(nuts2_id) + C(year) [erdf_eur_pc_l1 ~ z_eligible_intensity] |
| gdp_pc_pps_growth | IV 2SLS (panel) | year | nuts2_country | erdf_eur_pc_l1 | 0.003099 | 0.132969 | 0.023306 | 0.981406 | -0.257516 | 0.263714 | 0.560798 | 1175 | 223 | 2017 | 2023 | eligible_lt75 × eu_erdf_intensity_t | gdp_pc_pps_growth ~ 1 + unemp_rate + emp_rate + tertiary_share_25_64 + rd_gerd + gva + C(nuts2_id) + C(year) [erdf_eur_pc_l1 ~ z_eligible_intensity] |
| gdp_pc_real_growth | IV 2SLS (panel) | year | nuts2 | erdf_eur_pc_l1 | 0.004232 | 0.059070 | 0.071641 | 0.942888 | -0.111543 | 0.120006 | 1.538019 | 1175 | 223 | 2017 | 2023 | eligible_lt75 × eu_erdf_intensity_t | gdp_pc_real_growth ~ 1 + unemp_rate + emp_rate + tertiary_share_25_64 + rd_gerd + gva + C(nuts2_id) + C(year) [erdf_eur_pc_l1 ~ z_eligible_intensity] |
| gdp_pc_real_growth | IV 2SLS (panel) | year | nuts2_country | erdf_eur_pc_l1 | 0.004232 | 0.092749 | 0.045626 | 0.963608 | -0.177553 | 0.186017 | 0.560798 | 1175 | 223 | 2017 | 2023 | eligible_lt75 × eu_erdf_intensity_t | gdp_pc_real_growth ~ 1 + unemp_rate + emp_rate + tertiary_share_25_64 + rd_gerd + gva + C(nuts2_id) + C(year) [erdf_eur_pc_l1 ~ z_eligible_intensity] |
| estimator | outcome | window | bandwidth | coef | std_err | t_stat | p_value | ci_95_lower | ci_95_upper | n_obs | n_left | n_right | cutoff | kernel | polynomial_order | treatment_var | first_stage_f_stat |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| fuzzy_rd | gdp_pc_pps_growth_post_2016_2020 | post_2016_2020 | 10.0 | -0.003778 | 0.004204 | -0.898659 | 0.368834 | -0.012017 | 0.004462 | 53 | 24 | 29 | 75.0 | triangular | 1 | erdf_eur_pc_cum_2014_2020 | 1.787239 |
| sharp_rd | gdp_pc_pps_growth_post_2016_2020 | post_2016_2020 | 10.0 | -1.970790 | 1.536487 | -1.282659 | 0.199611 | -4.982249 | 1.040670 | 53 | 24 | 29 | 75.0 | triangular | 1 | eligible_lt75 | NaN |
| fuzzy_rd | gdp_pc_pps_growth_post_2021_2023 | post_2021_2023 | 10.0 | 0.005445 | 0.005153 | 1.056606 | 0.290692 | -0.004655 | 0.015545 | 53 | 24 | 29 | 75.0 | triangular | 1 | erdf_eur_pc_cum_2014_2020 | 1.787239 |
| sharp_rd | gdp_pc_pps_growth_post_2021_2023 | post_2021_2023 | 10.0 | 2.840440 | 1.201786 | 2.363516 | 0.018102 | 0.484983 | 5.195897 | 53 | 24 | 29 | 75.0 | triangular | 1 | eligible_lt75 | NaN |
| fuzzy_rd | gdp_pc_real_growth_post_2016_2020 | post_2016_2020 | 10.0 | -0.000304 | 0.002538 | -0.119968 | 0.904508 | -0.005278 | 0.004669 | 53 | 24 | 29 | 75.0 | triangular | 1 | erdf_eur_pc_cum_2014_2020 | 1.787239 |
| sharp_rd | gdp_pc_real_growth_post_2016_2020 | post_2016_2020 | 10.0 | -0.158809 | 1.375125 | -0.115487 | 0.908059 | -2.854005 | 2.536387 | 53 | 24 | 29 | 75.0 | triangular | 1 | eligible_lt75 | NaN |
| fuzzy_rd | gdp_pc_real_growth_post_2021_2023 | post_2021_2023 | 10.0 | 0.004639 | 0.004081 | 1.136790 | 0.255626 | -0.003359 | 0.012638 | 53 | 24 | 29 | 75.0 | triangular | 1 | erdf_eur_pc_cum_2014_2020 | 1.787239 |
| sharp_rd | gdp_pc_real_growth_post_2021_2023 | post_2021_2023 | 10.0 | 2.420227 | 0.975072 | 2.482100 | 0.013061 | 0.509120 | 4.331333 | 53 | 24 | 29 | 75.0 | triangular | 1 | eligible_lt75 | NaN |
| estimator | outcome | window | bandwidth | coef | std_err | t_stat | p_value | ci_95_lower | ci_95_upper | n_obs | n_left | n_right | cutoff | kernel | polynomial_order | treatment_var | first_stage_f_stat |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sharp_rd | gdp_pc_real_growth_pre_2010_2013 | pre_2010_2013 | 10.0 | -1.941947 | 2.455542 | -0.790842 | 0.429036 | -6.754721 | 2.870828 | 53 | 24 | 29 | 75.0 | triangular | 1 | eligible_lt75 | NaN |
Binned scatter (PNG)
Bandwidth sensitivity (PNG)
| outcome | model | fe_type | term | coef | std_err | t_stat | p_value | ci_95_lower | ci_95_upper | n_obs | n_regions | first_stage_f_stat |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gdp_pc_pps_growth | IV first stage | year | z_eligible_intensity | 0.163688 | 0.147836 | 1.107222 | 0.268198 | -0.126066 | 0.453441 | 1175 | 223 | 1.538019 |
| gdp_pc_pps_growth | IV first stage | year | z_eligible_intensity | 0.163688 | 0.147836 | 1.107222 | 0.268198 | -0.126066 | 0.453441 | 1175 | 223 | 0.560798 |
| gdp_pc_real_growth | IV first stage | year | z_eligible_intensity | 0.163688 | 0.147836 | 1.107222 | 0.268198 | -0.126066 | 0.453441 | 1175 | 223 | 1.538019 |
| gdp_pc_real_growth | IV first stage | year | z_eligible_intensity | 0.163688 | 0.147836 | 1.107222 | 0.268198 | -0.126066 | 0.453441 | 1175 | 223 | 0.560798 |
| outcome | model | fe_type | clustering | term | coef | std_err | t_stat | p_value | ci_95_lower | ci_95_upper | first_stage_f_stat | n_obs | n_regions | sample_year_min | sample_year_max | instrument | formula |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gdp_pc_pps_growth | IV 2SLS (panel) | year | nuts2 | erdf_eur_pc_l1 | 0.003099 | 0.078398 | 0.039530 | 0.968468 | -0.150558 | 0.156756 | 1.538019 | 1175 | 223 | 2017 | 2023 | eligible_lt75 × eu_erdf_intensity_t | gdp_pc_pps_growth ~ 1 + unemp_rate + emp_rate + tertiary_share_25_64 + rd_gerd + gva + C(nuts2_id) + C(year) [erdf_eur_pc_l1 ~ z_eligible_intensity] |
| gdp_pc_pps_growth | IV 2SLS (panel) | year | nuts2_country | erdf_eur_pc_l1 | 0.003099 | 0.132969 | 0.023306 | 0.981406 | -0.257516 | 0.263714 | 0.560798 | 1175 | 223 | 2017 | 2023 | eligible_lt75 × eu_erdf_intensity_t | gdp_pc_pps_growth ~ 1 + unemp_rate + emp_rate + tertiary_share_25_64 + rd_gerd + gva + C(nuts2_id) + C(year) [erdf_eur_pc_l1 ~ z_eligible_intensity] |
| gdp_pc_real_growth | IV 2SLS (panel) | year | nuts2 | erdf_eur_pc_l1 | 0.004232 | 0.059070 | 0.071641 | 0.942888 | -0.111543 | 0.120006 | 1.538019 | 1175 | 223 | 2017 | 2023 | eligible_lt75 × eu_erdf_intensity_t | gdp_pc_real_growth ~ 1 + unemp_rate + emp_rate + tertiary_share_25_64 + rd_gerd + gva + C(nuts2_id) + C(year) [erdf_eur_pc_l1 ~ z_eligible_intensity] |
| gdp_pc_real_growth | IV 2SLS (panel) | year | nuts2_country | erdf_eur_pc_l1 | 0.004232 | 0.092749 | 0.045626 | 0.963608 | -0.177553 | 0.186017 | 0.560798 | 1175 | 223 | 2017 | 2023 | eligible_lt75 × eu_erdf_intensity_t | gdp_pc_real_growth ~ 1 + unemp_rate + emp_rate + tertiary_share_25_64 + rd_gerd + gva + C(nuts2_id) + C(year) [erdf_eur_pc_l1 ~ z_eligible_intensity] |
Placebo leads/lags (interactive)
Placebo leads/lags (PNG fallback)
| outcome | model | term | coef | std_err | t_stat | p_value | ci_95_lower | ci_95_upper | n_obs | n_regions | fe_type | clustering | sample_year_min | sample_year_max | controls_used | outlier_rule | erdf_eur_pc_global_p99 | balanced_window_start | balanced_window_end | balanced_regions | treatment_scale |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gdp_pc_real_growth | Model A (outliers excluded) | erdf_eur_pc_l1 | 0.006324 | 0.003033 | 2.084936 | 0.037075 | 0.000379 | 0.012268 | 1156 | 223 | year | nuts2 | 2017 | 2023 | unemp_rate,emp_rate,tertiary_share_25_64,rd_gerd,gva | drop global top 1% erdf_eur_pc | 264.108343 | NaN | NaN | NaN | NaN |
| gdp_pc_real_growth | Model B (outliers excluded) | erdf_eur_pc_l1 | 0.003256 | 0.002984 | 1.091103 | 0.275227 | -0.002593 | 0.009104 | 1156 | 223 | country_year | nuts2 | 2017 | 2023 | unemp_rate,emp_rate,tertiary_share_25_64,rd_gerd,gva | drop global top 1% erdf_eur_pc | 264.108343 | NaN | NaN | NaN | NaN |
| gdp_pc_real_growth | Model A (balanced panel) | erdf_eur_pc_l1 | 0.005542 | 0.003063 | 1.809299 | 0.070405 | -0.000462 | 0.011546 | 805 | 115 | year | nuts2 | 2017 | 2023 | unemp_rate,emp_rate,tertiary_share_25_64,rd_gerd,gva | NaN | NaN | 2017.0 | 2023.0 | 115.0 | NaN |
| gdp_pc_real_growth | Model B (balanced panel) | erdf_eur_pc_l1 | 0.002715 | 0.003029 | 0.896323 | 0.370080 | -0.003222 | 0.008652 | 805 | 115 | country_year | nuts2 | 2017 | 2023 | unemp_rate,emp_rate,tertiary_share_25_64,rd_gerd,gva | NaN | NaN | 2017.0 | 2023.0 | 115.0 | NaN |
| gdp_pc_real_growth | Model A (scaled treatment) | erdf_k_eur_pc_l1 | 5.679637 | 3.024506 | 1.877873 | 0.060399 | -0.248285 | 11.607559 | 1175 | 223 | year | nuts2 | 2017 | 2023 | unemp_rate,emp_rate,tertiary_share_25_64,rd_gerd,gva | NaN | NaN | NaN | NaN | NaN | EUR 1,000 per capita |
| gdp_pc_real_growth | Model B (scaled treatment) | erdf_k_eur_pc_l1 | 3.361760 | 2.888228 | 1.163952 | 0.244443 | -2.299063 | 9.022584 | 1175 | 223 | country_year | nuts2 | 2017 | 2023 | unemp_rate,emp_rate,tertiary_share_25_64,rd_gerd,gva | NaN | NaN | NaN | NaN | NaN | EUR 1,000 per capita |
Generated by scripts/run_models.py. This file is standalone and can be opened directly.